package org.innovasix.educational.javap.domain.constantpool;

/**
 * ConstantPoolTags is the enum assembling "Table 4.3 Constant pool tags".
 * Each row consists of the constant type name and its decimal value.
 * 
 * @author sven.mentl@gmail.com
 *
 */
public enum ConstantPoolTags {

	CONSTANT_Class(7),
	CONSTANT_Fieldref(9),
	CONSTANT_Methodref(10),
	CONSTANT_InterfaceMethodref(11),
	CONSTANT_String(8),
	CONSTANT_Integer(3),
	CONSTANT_Float(4),
	CONSTANT_Long(5),
	CONSTANT_Double(6),
	CONSTANT_NameAndType(12),
	CONSTANT_Utf8(1),
	CONSTANT_MethodHandle(15),
	CONSTANT_MethodType(16),
	CONSTANT_InvokeDynamic(18);
	
	
	ConstantPoolTags(int decimalValue){
		this.decimalValue = decimalValue;
	}
	
	public final int decimalValue;  
	
	public int decimalValue() {return decimalValue;}
}
